/**********************************************************************************************************************
* COPYRIGHT 
* ------------------------------------------------------------------------------------------------------------------- 
* Copyright (c) iSOFT INFRASTRUCTURE SOFTWARE CO., LTD. This software is proprietary to 
* iSOFT INFRASTRUCTURE SOFTWARE CO., LTD., and all rights are reserved by iSOFT INFRASTRUCTURE SOFTWARE CO., LTD. 
* Without the express written permission of the company, no organization or individual may copy, install, trial, 
* distribute, or reverse engineer this software. For terms of use and further details, please refer to the End User 
* License Agreement (EULA) or contact us business@i-soft.com.cn for more assistance. 
* 
* This file contains code from EasyXMen, which is licensed under the LGPL-2.1. However, due to a special exception, 
* you are not required to comply with the provisions of section 6a of LGPL-2.1. Specifically, you may distribute 
* your software, including this file, under terms of your choice, including proprietary licenses, without needing to 
* provide the source code or object code as specified in section 6a. For more details, please refer to the project's 
* LICENSE and EXCEPTION files and the specific exception statement.  
* ------------------------------------------------------------------------------------------------------------------- 
* FILE DESCRIPTION 
* ------------------------------------------------------------------------------------------------------------------- 
*  @MCU                : S32K148 
*  @file               : BswM_Cfg.h 
*  @license            : Evaliation 
*  @licenseExpiryDate  :  
*  @date               : 2024-10-21 10:37:04 
*  @customer           : EasyXMen User 
*  @toolVersion        : 2.0.18 
*********************************************************************************************************************/ 
#ifndef BSWM_CFG_H
#define BSWM_CFG_H

/*******************************************************************************
**                      Include Section                                       **
*******************************************************************************/
#include "Std_Types.h"

/*******************************************************************************
**                      Global Symbols                                        **
*******************************************************************************/
/*For compatibility with v4.2.2 and vR1911*/
#define BSWM_ECUM_VERSION                       BSWM_V_R19_11
#define BSWM_COM_VERSION                       BSWM_V_4_2_2

#define BSWM_EVENT_RQSTPORT_ENABLE            STD_ON

#define BSWM_MODE_RQSTPORT_ENABLE             STD_ON

/*BswMDevErrorDetect*/
#define BSWM_DEV_ERROR_DETECT                STD_ON

/*BswMCanSMEnabled*/
#define BSWM_CANSM_ENABLED                    STD_ON

/*BswMCanSMIcomEnabled*/
#define BSWM_CANSM_ICOM_ENABLED                STD_OFF

/*BswMComEnabled*/
#define BSWM_COM_ENABLED                    STD_ON

/*BswMComMEnabled*/
#define BSWM_COMM_ENABLED                    STD_ON

#define BSWM_COMM_MODE_LIMITATION_ENABLED    STD_OFF

#define BSWM_COMM_PNC_ENABLED               STD_ON

/*BswMDcmEnabled*/
#define BSWM_DCM_ENABLED                    STD_ON

/*BswMEcuMEnabled*/
#define BSWM_ECUM_ENABLED                    STD_ON

/*BswMEthIfEnabled*/
#define BSWM_ETHIF_ENABLED                  STD_OFF

/*BswMEthSMEnabled*/
#define BSWM_ETHSM_ENABLED                    STD_OFF

/*BswMFrSMEnabled*/
#define BSWM_FRSM_ENABLED                    STD_OFF

/*BswMGenericRequestEnabled*/
#define BSWM_GENERIC_REQUEST_ENABLED        STD_ON

/*BswMJ1939DcmEnabled*/
#define  BSWM_J1939DCM_ENABLED                STD_OFF

/*BswMJ1939RmEnabled, calculated according to the action existence*/
#define BSWM_J1939RM_ENABLED                   STD_OFF       /* create J1939Rm */

/*BswMJ1939NmEnabled*/
#define BSWM_J1939NM_ENABLED                STD_OFF

/*BswMLinSMEnabled*/
#define BSWM_LINSM_ENABLED                    STD_OFF

/*BswMLinTPEnabled*/
#define BSWM_LINTP_ENABLED                    STD_OFF

/*BswMNMEnabled*/
#define BSWM_NM_ENABLED                        STD_ON

/*BswMPduREnabled, calculated according to the action existence*/
#define BSWM_PDUR_ENABLED                   STD_OFF          /* create Pdur */

/*BswMNvMEnabled*/
#define BSWM_NVM_ENABLED                    STD_OFF

/*BswMSchMEnabled*/
#define BSWM_SCHM_ENABLED                    STD_OFF

/*BswMSdEnabled*/
#define BSWM_SD_ENABLED                        STD_OFF

/*BswMRteEnabled, calculated according to the SWC RTE request port and action existence*/
#define BSWM_RTE_ENABLED                       STD_OFF

#define BSWM_TIMER_ENABLED                    STD_ON

/*BswMVersionInfoApi*/
#define BSWM_VERSION_INFO_API                STD_OFF

/*BswMWdgMEnabled*/
#define BSWM_WDGM_ENABLED                    STD_ON

#define BSWM_MULTI_PARTITION_ENABLED       STD_OFF

#define BSWM_MAX_NUM_CORE                   1u

#define BSWM_ACTION_LINSCHEDULESWITCH_ENABLED STD_OFF  /*BswMLinScheduleSwitch*/

/*******************************************************************************
**                      Global Data Types                                     **
*******************************************************************************/
typedef uint8 BswM_TimerIdxType;

typedef uint8 BswM_EventRqstPortIdxType;

typedef uint8 BswM_RuleIndexType;

typedef uint8 BswM_ActionListIndexType;

typedef uint8 BswM_ComIpduGruType;

typedef uint8 BswM_ModeGroupType;

/*******************************************************************************
**                      Global Data Declaration                               **
*******************************************************************************/

/*******************************************************************************
**                      Global Functions                                      **
*******************************************************************************/
/* PRQA S 3449, 3451, 0779, 0777 ++ */ /* MISRA Rule 8.5, 5.2, 1.3 */
extern void GenericSwitch_CanSmBusOff_NoCom_CanChannel_0(void);
extern void GenericSwitch_CanSmBusOff_BusOffSilent_CanChannel_0(void);
extern void User_EcuM_ClearWakeUpSource_EcuMWakeupSource_CAN(void);
extern void BswM_EcuM_RequestRun(void);
extern void BswM_EcuM_ReleaseRun(void);
extern void BswM_EcuM_ReleasePostRun(void);
extern void BswM_EcuM_RequestPostRun(void);
extern void WakeupSource_Enable(void);
extern void WakeupSource_Disable(void);
extern void BswM_CanTrcv_ModeShift(void);
extern void User_EcuM_ClearWakeUpSource_EcuMWakeupSource_Local(void);
/* PRQA S 3449, 3451, 0779, 0777 -- */ /* MISRA Rule 8.5, 5.2, 1.3 */

#endif /* BSWM_CFG_H */
